package com.library.management.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.library.management.domain.Books;
import com.library.management.dto.BookDTO;
import com.library.management.dto.BookQueryParam;

/**
* @author HY
* @description 针对表【books(图书表)】的数据库操作Service
* @createDate 2025-04-04 17:38:12
*/
public interface BooksService extends IService<Books> {

    /**
     * 分页查询图书
     * @param queryParam 查询参数
     * @return 分页结果
     */
    IPage<BookDTO> getBookPage(BookQueryParam queryParam);
    
    /**
     * 获取图书详情
     * @param id 图书ID
     * @return 图书详情
     */
    BookDTO getBookById(Integer id);
    
    /**
     * 添加图书
     * @param bookDTO 图书信息
     * @return 添加后的图书ID
     */
    Integer addBook(BookDTO bookDTO);
    
    /**
     * 更新图书
     * @param id 图书ID
     * @param bookDTO 图书信息
     * @return 是否更新成功
     */
    boolean updateBook(Integer id, BookDTO bookDTO);
    
    /**
     * 删除图书
     * @param id 图书ID
     * @return 是否删除成功
     */
    boolean deleteBook(Integer id);
}
